package com.egao.common.module.recommendation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.egao.common.core.web.JsonResult;
import com.egao.common.core.web.PageResult;
import com.egao.common.module.recommendation.entity.RecommendationUndergraduateEmployment;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.recommendation.entity.vo.RecommendationAuditParam;
import com.egao.common.module.recommendation.entity.vo.RecommendationListVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


/**
 *  服务接口
 * @author ly
 */
public interface IRecommendationUndergraduateEmploymentService extends IService<RecommendationUndergraduateEmployment> {

    /**
     * 查询列表
     *
     * @param page
     * @return PageResult<RecommendationListVo>
     */
     PageResult<RecommendationListVo> list(PageParam<RecommendationUndergraduateEmployment> page);

    /**
     * 根据id查询单个信息
     *
     * @param id  id
     * @return JsonResult
     */
    JsonResult read(Integer id);

    /**
     * 学生查看自己的信息
     *
     * @return JsonResult
     */
    JsonResult read();

    /**
     * 添加
     *
     * @param model       信息
     * @return JsonResult
     */
    JsonResult add(RecommendationUndergraduateEmployment model);

    /**
     * 提交
     * @param id 信息
     * @return JsonResult
     */
    JsonResult submit(Integer id);

    /**
     * 修改
     * @param model 信息
     * @return JsonResult
     */
    JsonResult update(RecommendationUndergraduateEmployment model);

    /**
     * 辅导员审核
     *
     * @param param 信息
     * @return JsonResult
     */
    JsonResult audit(RecommendationAuditParam param);

    /**
     * 删除
     * @param ids
     * @return JsonResult
     */
    JsonResult delete(Integer[] ids);

    /**
     * 导出
     *
     * @param id
     * @param response
     */
    JsonResult export(Integer id, HttpServletResponse response) throws IOException;
}